package com.uzai.console.service.profit;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.profit.ladderratio.LadderRatioIdDto;
import com.uzai.console.dto.profit.ladderratio.LadderRatioIdListDto;
import com.uzai.console.dto.profit.ladderratio.LadderRatioInfoDto;
import com.uzai.console.dto.profit.ladderratio.LadderRatioQuery;
import com.uzai.console.dto.profit.ladderratiogroup.LadderRatioGroupIdDto;
import com.uzai.console.dto.profit.ladderratiogroup.LadderRatioGroupInfoDto;
import com.uzai.console.dto.profit.ladderratiogroup.LadderRatioGroupQuery;
import com.uzai.console.vo.profit.ladderratio.LadderRatioInfoVo;
import com.uzai.console.vo.profit.ladderratiogroup.LadderRatioGroupInfoVo;

/**
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface LadderRatioService {
   /**
     * 分页查询阶梯规则列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param query
     * @return null
     */
    Page<LadderRatioInfoVo> findLadderRatioList(LadderRatioQuery query);

   /**
     * 查询阶梯规则详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioIdDto
     * @return null
     */
    LadderRatioInfoVo findLadderRatioInfo(LadderRatioIdDto ladderRatioIdDto);


   /**
     * 添加阶梯规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioInfoDto
     * @return null
     */
    void addLadderRatio(LadderRatioInfoDto ladderRatioInfoDto);

   /**
     * 修改阶梯规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioInfoDto
     * @return null
     */
    void updateLadderRatio(LadderRatioInfoDto ladderRatioInfoDto);

   /**
     * 删除阶梯规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioIdDto
     * @return null
     */
    void deleteLadderRatio(LadderRatioIdDto ladderRatioIdDto);

    /**
     *批量删除阶梯规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioIdListDto
     * @return null
     */
    void deleteLadderRatioBatch(LadderRatioIdListDto ladderRatioIdListDto);

   /**
     * 分页查询阶梯规则分组列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioGroupQuery
     * @return null
     */
    Page<LadderRatioGroupInfoVo> findLadderRatioGroupList(LadderRatioGroupQuery ladderRatioGroupQuery);

   /**
     * 添加阶梯规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioGroupInfoDto
     * @return null
     */
    void addLadderRatioGroup(LadderRatioGroupInfoDto ladderRatioGroupInfoDto);

   /**
     * 删除阶梯规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioGroupIdDto
     * @return null
     */
    void deleteLadderRatioGroup(LadderRatioGroupIdDto ladderRatioGroupIdDto);

   /**
     * 修改阶梯规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param ladderRatioGroupInfoDto
     * @return null
     */
    void updateLadderRatioGroup(LadderRatioGroupInfoDto ladderRatioGroupInfoDto);


    void copyLadderRatioByGroup(LadderRatioGroupInfoDto ladderRatioGroupInfoDto);
}
